Many enterprises are replacing their existing CENTREX (Central Exchange) or PBX (Private Branch Exchange) based telephony systems with VoIP (Voice over IP (Internet Protocol)) systems based upon SIP (Session Initiation Protocol) signalling systems. Such systems utilize existing IP infrastructure based upon LAN (Local Area Network) and WLAN (Wireless Local Area Network) technologies.
At the same time, mobile phones that use Cellular networks such as GSM (Global System for Mobile Communications), CDMA (Code Division Multiple Access) and UMTS (Universal Mobile Telecommunications System), to conduct communications with others inside and outside the enterprise network, are being enhanced to provide SIP based communications, including VoIP, over WLAN access, allowing these devices to provide mobile telephony communication capability when within the enterprise network as well as when away from the enterprise network.
Although systems based on SIP are being widely deployed as the common signalling protocol for VoIP telephony, there is a lack of standardization in the way SIP is utilized. Also, the protocol continues to be developed further with continued introduction of new extensions to SIP. This has led to different versions of SIP with significant differences in the way they are used. These differences include the usage of different SIP headers for conveying the same information or to trigger the same action, different call scenarios (different message sequences) for the same call setup or call feature, the use of proprietary or pre-standard SIP headers, and the use of new extensions to the SIP standards.
These differences create a problem for manufacturers of mobile devices such as mobile phones. Mobile phones manufactured with a version of SIP software that implements an early version of SIP may be sold and attempted to be used on a network that requires a version of SIP software that implements a later SIP standard. It may not be economically viable for vendors of such mobile devices to produce different SIP software for every potentially deployed network SIP usage.
As new application servers are introduced with new features, and as new features are added to existing application servers, it becomes difficult to update mobile devices to allow them to access these new features without issuing many new versions of the software. Every time a new version of the software is issued the user runs some upgrade program, which is both open for error and a distraction to the user. It is often the case that users don't upgrade, and so the new features do not get used. Also, unless many parallel versions of the software are maintained, the software is to support all features on all application servers. This can make the software larger and more complex leading to more software error opportunities, and making control of what features a single user may use more complex. If the parallel software version technique is used, then there are management issues for the development, testing, distribution and control of these parallel versions.